System and method for efficient basis conversion

ABSTRACT

This invention describes a method for evaluating a polynomial in an extension field F q   m , wherein the method comprises the steps of partitioning the polynomial into a plurality of parts, each part is comprised of smaller polynomials using a q -th  power operation in a field of characteristic q; and computing for each part components of q th  powers from components of smaller powers. A further embodiment of the invention provides for a method of converting a field element represented in terms of a first basis to its representation in a second basis, comprising the steps of partitioning a polynomial, being a polynomial in the second basis, into a plurality of parts, wherein each part is comprised of smaller polynomials using a q th  power operation in a field of characteristic q; evaluating the polynomial at a root thereof by computing for each part components of q th  powers from components of smaller powers; and evaluating the field element at the root of the polynomial.

This is a continuation of U.S. patent application No. 09/948,793 filed on Sep. 10, 2001, which is a continuation of PCT Application No. PCT/CA00/00256 filed Mar. 13, 2000, and which claims priority from Canadian Patent Application No. 2,256,389 filed on Mar. 13, 1999, the contents of which are hereby incorporated by reference.

FIELD OF THE INVENTION

This invention relates to the field of cryptographic systems, and conversion of elements between bases used in such systems.

BACKGROUND OF THE INVENTION

It is well known that there is only one finite field of any given order, but that there are many different representations. Wien an extension field is built by adjoining a root of an irreducible polynomial to the ground field, the choice of irreducible affects tile representation of the extension field. In general if F_(q) _(m) is the finite field, where q is a prime and F_(q) is the ground field over which it is defined, the elements of the finite field can be represented in a number of ways depending on the choice of basis. In order to interoperate, cryptographiic systems employing finite fields often need to establish a common representation. In addition to the choice of irreducible polynomial, finite fields can also be represented by either polynomial or normal basis. A polynomial basis represents elements of F_(q) _(m) as linear combinations of the powers of a generator element x:{x⁰, x¹, . . . ,x^(m−1)}. A normal basis representation represents elements as linear combination of successive q-th powers of the generator element x:{x^(q0),xq¹, . . . ,X^(qm−1)}. Each basis has its own advantages, and cryptographic implementations may prefer one or the other, or indeed specific types of irreducible polynomials, such as trinomials or pentanomials.

To support secure communication between devices using different representations, basis conversion, which changes the representation used by one party into that used by another party is generally required.

Basis conversion often entails the evaluation of a polynomial expression at a given finite field element. If an element a, when represented as a polynomial, is given as a(x)=Σa_(i)x^(i) mod f(x), where f(x) is an irreducible, in one basis, then the conversion of the element a into a new representation using another irreducible polynomial requires that a be evaluated at r, where r is a root of the new irreducible polynomial in the field represented by f(x), then a(r) is the element a in the new representation. Any of the conjugates of r (the other roots of the new irreducible) will also induce equivalent, but different representations.

There is a need for an efficient method for evaluating these polynomials, for application to basis conversion.

SUMMARY OF THE INVENTION

In accordance with this invention there is provided a method for evaluating polynomials in an extension field comprising the steps of, partitioning the polynomials into a plurality of parts, such that each part may be computed from smaller polynomials using a q-th power operation in a field of characteristic q.

In accordance with a further embodiment of the invention there is provided a method for evaluating a polynomial in an extension field comprising the steps of computing components of the q-th powers from components of smaller powers.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of the preferred embodiments of the invention will become more apparent in the following detailed description in which reference is made to the appended drawings wherein:

FIG. 1 is a schematic diagram illustrating an embodiment of the present invention;

FIGS. 2( a) and 2(b) are schematic diagrams illustrating an embodiment of the invention;

FIGS. 3( a) and (b) are schematic diagrams of further embodiments of the invention; and

FIG. 4 is a schematic diagram of a three level tree according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In a first embodiment of the invention, we exemplify a specific case F_(2m) of the general field F_(qm), then in order to evaluate a field element a(x)=Σa_(i)x^(i) in F_(2m), it is noted that approximately one half of the exponents x^(i) are even powers. These powers can be efficiently calculated from lower degree exponents of odd powers. For example, the powers for i=2,4,6,8,10 can be calculated by squaring the powers for i=1,2,3,4,5, respectively. This approach does not apply to the odd powers, but if we partition a into even and odd powers, e.g. a(x)=a_(even)(x)+a_(add)(x), and if we factor x from the odd powers, then a will be represented by a sum of even powers and x times a sum of even powers.

Explicitly,

$\quad\begin{matrix} {{a(x)} = {\left( {a_{0} + {a_{s}x^{2}} + {a_{4}x^{4}} + \ldots}\mspace{11mu} \right) + {x\left( {a_{i} + {a_{3}x^{2}} + {a_{5}x^{4}} + \ldots}\mspace{11mu} \right)}}} \\ {= {{a_{even}(x)} + {{xa}_{even}^{1}(x)}}} \end{matrix}$

where a_(even) ¹(x) is the even-powered polynomial derived by factoring x from a_(add)(x).

In a field of characteristic 2, F₂ _(m) squaring is a linear operation, which allows a_(even) and a_(even) ¹ to be expressed as squares of polynomials of smaller (roughly one half) degree. Explicitly, defining b(x)=a₂+a_(x)x +a₄x²+a₆x³+. . . and c(x)=a_(i)+a₃x²+a₅x²+a₇x³+. . . , then a(x) can be expressed as a(x)=(b(x))²+x(c(x))². Now b and c have approximately half the degree of the original polynomial a to be evaluated.

Evaluation of b (and c) can (recursively) be made by further dividing the polynomial into odd and even parts. The odd part can be shifted to an even power by factoring out x and expressing the result as a combination of squares of lower degree polynomials. At each application of the partitioning and shifting tvo squaring operations and one multiplication by x are required.

At some point, the recursive partitioning can be halted and the component polynomials evaluated via one or more methods.

Note that although we have described the method for the extension fields over F₂, similar application can be made to other characteristics if the polynomials are divided into more components. For example, for the extension held over F₃, the polynomial a(x) might be divided into a(x)=a_(0mod3)+a_(1mod3)+a_(2mod3), where a_(0mod)=(a₀+a₃x³+a₆x⁶ . . . )a_(1mod3)=(a₁x+a₄x⁴+a₇x⁷ . . . ), and a_(2mod3)=(a₂x+a₅x⁵+a₈x⁸ . . . ).

In general, for extension fields over F_(q) the polynomial may be divided into q parts. Even over characteristic 2, the polynomial a might be broken tip into more than 2 polynomials, at the cost of more multiplications by x or powers of x.

As an example of a preferred embodiment at a given size, consider conversion of polynomial representations over F_(x) ₁₆₃ . An element of this field is represented by the polynomial a(x)=a₀+a₁x+a₂x²+. . . a₁₆₂x¹⁶².

The first branching divides a(x) into:

a(x)=(a₂+a_(x)x+a₄x²+a₆x³+ . . . +a₁₆₂x⁸¹)²+x(a₁+a₃x+a₅x²+a₇x³+ . . . +a₁₆₁x⁸⁰)²=(b(x))²+x(c(x))², where b(y) and c(r) are each polynomials referred to as component polynomials C_(i), C_(j). At the next level down,

$\quad\begin{matrix} {{b(x)} = {\left( {b_{0} + {b_{2}x} + {b_{4}x^{2}} + {b_{6}x^{3}} + \ldots + {b_{80}x^{40}}} \right)^{2} +}} \\ {{x\left( {b_{1} + {b_{3}x} + {b_{5}x^{2}} + {b_{7}x^{3}} + \ldots + {b_{81}x^{40}}} \right)}^{2}} \\ {= {\left( {d(x)} \right)^{2} + {{x\left( {(x)} \right)}^{2}.}}} \end{matrix}$

The polynomial c(x) is partitioned in a similar way.

As mentioned above, the partitioning of polynomials into parts may be halted and the resulting component polynomials evaluated at a root by using any one of several known methods. The positions at which the partitioning stops may be denoted as the leaves of the evaluation tree The component polynomials at the leaves may be evaluated either directly, or with Homer's rule. However, current methods do not exploit a property of finite fields of characteristic q, wherein taking the q -th powers is usually an efficient operation.

An exemplary method will now be described for efficiently evaluating a component polynomial for extension fields over F₂.

At the leaf a component polynomial a(x)=Σa_(i)x^(i) must be evaluated at a root of a new irreducible. Again, approximately one half of these terms will be even and can be calculated efficiently from odd powers. These odd powers will either be stored, for explicit basis conversion, or calculated explicitly by multiplication. If, for example a(x) is guaranteed to be of degree not greater than 10 (which may be the case if certain evaluation tree depths are employed), then a(x) can be evaluated from the powers 1,3,5,7,9, which are either stored or calculated. Squarings can be reduced by grouping coefficients together. This is shown schematically in FIG. 2( a) where a notional table is constructed to show the relationship between the stored or evaluated odd powers of r and the higher degree even powers of r. Thus, consider the first row in which r², r⁴, and r⁸ are derived by squaring r¹, similarly, r⁶ is derived by squaring r³ and r¹⁰ is derived by squaring r⁵. It is to be noted that in this example, powers of 2 are used.

Turning back to FIG. 2( a), however, the notional table may be used as shown schematically in FIG. 2( b). Thus, assume an accumulator is set initially to 0. Since we are using an extension field over F₂ the coefficients a_(i) are either 0 or 1. First, if a₈ is 1, then r¹ is added to the accumulator, which consists of a copying operation in a processor. Next, the accumulator is squared. Next, if a₄ is 1, then r¹ is added into the accumulator. Again, the accumulator is squared. Now, if a₂, a₆, a₁₀ are one (1) then r¹, r³, r⁵ are added into the accumulator respectively. Again, the accumulator is squared. Finally, if a₀, a₁, a₃, a₅, a₇, a₉ are set (1), then r⁰, r¹, r³, r⁵, r⁷, r⁹ are added into the accumulator. This completes the evaluation of a(x) at r, requiring three squares and the initial evaluation of r⁰, r¹, r³, r⁵, r⁷, r⁹, which can be reused at another leaf evaluation.

It will be apparent to those skilled in the art that the precomputed values technique can equally well be applied to multiplication techniques.

For polynomials of larger degrees, similar evaluations can be made from evaluation of odd powers. First, the coefficients of those exponents with the largest powers of 2 are added into the accumulator according to whether the polynomial to be evaluated has non-zero coefficients at those powers, then the result is squared. Next, powers divisible by one less power of 2 are added in as required by polynomial evaluation. Accumulation and squaring continues until the odd powers themselves are added in as required by the polynomial under evaluation.

In FIGS. 3( a) and 3(b), a similar evaluation is exemplified for an extension field over F₃ and for a polynomial of degree no greater than 17. Note that in this embodiment, the coefficients a_(i) may take a value 0, 1, or 2. Thus, the powers are added with the required coefficients. In general then, for an extension field over F_(q), powers of q are used to construct the notional table and evaluation of the polynomial proceeds by accumulation and q powering until all required powers in the polynomial are added in as required by the polynomial being evaluated.

An application of the above method to basis conversion may be illustrated as below. Given a field F₂ ₃₁ and a pair of bases having respective irreducible f₁ and f₂ and if f₁=x³¹+x⁶+1; and f₂=x³¹+x³+1. Then, a root of f₁ in the field represented by f₂ is given by r=x²⁶+x²⁴+x²³+x²²+x¹⁹+x ¹⁷+x¹²x¹¹+x⁹+x⁸+x⁶+x⁵x+³+x². Now, to convert an element a(x)=a_(f1) in the first basis to a representation in the second basis a_(f1) (that is to basis defined by f₂) we proceed as follows. Let

${a(x)} = {\sum\limits_{i = 0}^{30}{a_{i}x^{i}}}$

in general. For this example, we choose a specific element: a(x)=x³⁰x²⁹+x²⁸+x²⁷+x²⁵+x²²+x²⁰+x¹⁹+x¹⁴+x¹³+x¹²+x¹¹+x¹⁰+x⁸x⁷+x⁶+x³+x⁰

We assume a three level evaluation tree which is constructed in accordance with the present invention as shown in FIG. 4. At the bottom level of the tree (the leaf nodes), we require the following powers of r: r⁰, r² . . . r⁷. The odd powers are calculated r¹, r³, r⁵, and r⁷(by squaring r and 3 multiplications by r²)

When a above is decomposed in the tree, the leaf nodes are:

L₀=(r⁷+r⁵+r³+r²⁺¹)² L₁=r(r⁷+r⁵+r³+r²+r)² L₅=(r⁷+r³)² L₃=r(r⁶+r⁵+r⁴+r²+r+1)²

To evaluate the leaf node L₀, we will evaluate the component polynomial, then square it and, when appropriate, further multiply its value by r to obtain the value of the leaf node:

0) zero A 1) add r¹ to A, square A, now A=r² 2) add in r⁰,r³,r,r⁷ to A 3) square A=L₀ For L₁, we will 0) zero A 1) add r¹ to A 2) square A 3) addr¹,r³,r⁵,r⁷,to A 4) square A 5) multiply A by r=L1

for L,

0) zero A 1) add in r³, r⁷ 2) square A=L₂

for L₃

0) zero A 1) add in r¹ 2) square A=r² 3) add in r¹, r³ 4) square A=r⁶+r⁴+r² 5) add in r⁰,r¹,r⁵ A=r⁶+r⁵+r⁴+r²+r+1 6) square A 7) multiply A by r=L₃

Now a(r) is built by evaluating the tree M_(0 l =(L) ₀+L₁)², M₁=r(L₂+L₃)². Finally, a(r)=T₀=M₀+M₁

Thus, it may be seen that his method may be applied to various cryptographic schemes such as key exchange schemes, signature schemes and encryption schemes.

Although the invention has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the spirit and scope of the invention as outlined in the claims appended hereto. For example, the invention may be applied to basis conversion wherein the bases to be converted between are an optimal normal basis and a polynomial basis. 

1. A computing device including an accumulator for evaluating a polynomial a(x) of degree d at an element r of a finite field of characteristic 2, said device being programmed to: a) initialize said accumulator to 0; b) for each odd number k<d, compute and store a value r^(k); c) compute a value t=2¹ such that 2¹≦d<2¹⁺¹; d) while t ≧1 repeat the steps: i) for each s from 1 to $\left\lbrack \frac{d}{t} \right\rbrack$ if a_(s1)=1 then add r⁵ to the accumulator; ii) square R; set ${t = \frac{t}{2}};$ whereby the accumulator holds the value of a(r). 